$(function () {
    const { form, layer } = layui;
    initArtCateList();
    // 获取文章分类的列表
    function initArtCateList() {
        $.ajax({
            method: "GET",
            url: "/my/article/cates",
            success: function (res) {
                let req = res.data.reverse();
                let htmlStr = template("tpl-table", req);
                $("tbody").html(htmlStr);
            },
        });
    }
    // 为添加类别按钮绑定点击事件
    let indexAdd = null;
    $("#btnAddCate").on("click", function () {
        indexAdd = layer.open({
            type: 1,
            area: ["500px", "250px"],
            title: "添加文章分类",
            content: $("#dialog-add").html(),
        });
    });
    // 通过代理的形式，为 form-add 表单绑定 submit 事件
    $("body").on("submit", "#form-add", function (e) {
        e.preventDefault();
        $.ajax({
            method: "POST",
            url: "/my/article/addcates",
            data: $(this).serialize(),
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg("新增分类失败！");
                }
                initArtCateList();
                layer.msg("新增分类成功！");
                // 根据索引，关闭对应的弹出层
                layer.close(indexAdd);
            },
        });
    });
    let indexEdit = null;
    //为编辑按钮添加事件
    $("tbody").on("click", ".btn-edit", function () {
        // 弹出一个修改文章分类信息的层
        indexEdit = layer.open({
            type: 1,
            area: ["500px", "250px"],
            title: "修改文章分类",
            content: $("#dialog-edit").html(),
        });
        let id = $(this).data("id");
        // 发起请求获取对应分类的数据
        $.ajax({
            method: "GET",
            url: "/my/article/cates/" + id,
            success: function (res) {
                form.val("form-edit", res.data);
            },
        });
    });
    // 通过代理的形式，为 form-edit 表单绑定 submit 事件
    $("body").on("submit", "#form-edit", function (e) {
        e.preventDefault();
        $.ajax({
            method: "POST",
            url: "/my/article/updatecate",
            data: $(this).serialize(),
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg("更新分类数据失败！");
                }
                layer.msg("更新分类数据成功！");
                layer.close(indexEdit);
                initArtCateList();
            },
        });
    });
    //删除类别
    $("body").on("click", ".btn-delete", function () {
        let id = $(this).data("id");
        layer.confirm("是否删除", { icon: 3, title: "提示" }, function (index) {
            $.ajax({
                method: "GET",
                url: "/my/article/deletecate/" + id,
                success: function (res) {
                    if (res.status !== 0) {
                        return layer.msg("删除分类数据失败！");
                    }
                    layer.msg("删除分类数据成功！");
                    initArtCateList();
                    layer.close(index);
                },
            });
        });
    });
});
